package main

import (
	"fmt"
	"log"
	"yunzhan/common/models"
)

func main() {
	// 使用安全的密钥（示例中使用固定密钥，实际应用中应从安全源加载）
	key := []byte("your-16-byte-key") // 确保密钥长度为16, 24或32字节

	// 提示用户输入 MAC 地址
	var userMacAddress string
	fmt.Print("请输入您的 MAC 地址: ")
	fmt.Scan(&userMacAddress)

	// 提示用户输入有效期
	var expiryDays int
	fmt.Print("请输入许可证有效期（天数）: ")
	fmt.Scan(&expiryDays)

	// 生成许可证
	err := models.GenerateLicense(userMacAddress, expiryDays, "license.lic", key)
	if err != nil {
		log.Fatalf("生成许可证失败: %v", err)
	}

	log.Println("许可证已生成，保存至 license.lic，接下来将验证许可证...")

	// 验证许可证
	valid, err := models.ValidateLicense(userMacAddress, "license.lic", key)
	if err != nil {
		log.Fatalf("验证许可证失败: %v", err)
	}

	if valid {
		log.Println("许可证有效，程序继续运行。")
		// 继续执行程序的其他逻辑
		// ...
	} else {
		log.Println("许可证无效或已过期。")
	}
}
